//定义详情模块数据ts类型
export interface ResponseData{
    code:number,
    message:string,
    ok:boolean
}

//代表医院详情的数据
export interface HospitalDetail{
    "bookingRule":{
        "cycle":number,
        "releaseTime":string,
        "stopTime":string,
        "quitDay":number,
        "quitTime":string,
        "rule":string[]
    },
    "hospital":{
        "id":string,
        "createTime":string,
        "updateTime":string,
        "isDeleted":0,
        "param":{
            "hostypeString":string,
            "fullAddress":string
        },
        "hoscode":string,
        "hosname":string,
        "hostype":string,
        "provinceCode":string,
        "cityCode":string,
        "districtCode":string,
        "address":string,
        "logoData":string,
        "intro":string,
        "route":string,
        "status":number,
        "bookingRule":null
    }
}
//医院详情返回数据ts
export interface HospitalDetail extends ResponseData{
    data:HospitalDetail
}

//代表医院科室的数据
export interface Department{
    "depcode":string,
    "depname":string,
    "children":Department[]
}

//代表存储科室数组类型
export type DepartmentArr = Department[]

//获取科室接口返回的数据类型
export interface DepartmentResponseData extends ResponseData{
    data:DepartmentArr
}

//用户登录接口需要携带参数类型
export interface LoginData{
    phone:string,
    code:string
}
//登录接口返回用户信息数据
export interface UserInfo{
    name:string,
    token:string
}
//登录接口返回的数据ts类型
export interface UserLoginResponseData extends ResponseData{
    data:UserInfo
}

//定义微信扫码登录返回的数据的ts类型
export interface WXLogin {
    "redirectUri":string,
    "appid":string,
    "scope":string,
    "state":string
}
export interface WXLoginResponseData extends ResponseData{
    data:WXLogin
}

export interface BaseMap{
    "workDateString":string,
    "releaseTime":string,
    "bigname":string,
    "stopTime":string,
    "depname":string,
    "hosname":string
}
export interface WorkData{
    "workDate":string,
    "workDateMd":string,
    "dayOfWeek":string,
    "docCount":number,
    "reservedNumber":null,
    "availableNumber":number,
    "status":number
}
export type BookingScheduleList  = WorkData[]
export interface HospitalWorkData extends ResponseData{
    data:{
        total:number,
        bookingScheduleList:BookingScheduleList,
        baseMap:BaseMap
    }
}

//代表的是一个医生的数据
export interface Doctor{
    "id":string,
    "createTime":string,
    "updateTime":string,
    "isDeleted":0,
    "param":{
        "dayOfWeek":string,
        "depname":string,
        "hosname":string
    },
    "hoscode":string,
    "depcode":string,
    "title":string,
    "docname":string,
    "skill":string,
    "workDate":string,
    "workTime":number,
    "reservedNumber":number,
    "availableNumber":number,
    "amount":number,
    "status":number,
    "hosScheduleId":string
}

//数组包含全部医生
export type DocArr = Doctor[];

//获取医生排班接口返回的数据
export interface DoctorResponseData extends ResponseData{
    data:DocArr
}
export interface Patient{
    address:string,
    birthdate:string,
    cardNo:null,
    certificatesNo:string,
    certificatesType:string,
    cityCode:string,
    contactsCertificatesNo:string,
    contactsCertificatesType:string,
    contactsName:string,
    contactsPhone:string,
    createTime:string,
    districtCode:string,
    id:number,
    isDeleted:number,
    isInsure:number,
    isMarry:number,
    name:string,
    param:{
        certificatesTypeString:string,
        contactsCertificatesTypeString:string,
        cityString:string,
        fullAddress:string,
        districtString:string,
        provinceString:string,
    }
    phone:string,
    provinceCode:string,
    sex:number
    status:string,
    updateTime:string,
    userId:number
}
export type PatientArr = Patient[];
//获取就诊人接口返回的数据
export interface PatientResponseData extends ResponseData{
    data:PatientArr
}

export interface ScheduleResponseData extends ResponseData{
    data:Doctor
}
